<!--
Hibernate, Relational Persistence for Idiomatic Java

SPDX-License-Identifier: LGPL-2.1-or-later
Copyright: Red Hat Inc. and Hibernate Authors
-->
<body>

<p>
    Hibernate Reactive is a reactive API for Hibernate ORM, supporting non-blocking
    database drivers and a reactive style of interaction with the database.
</p>

<p>
    The central APIs are defined as inner interfaces of
    <ul>
    <li>{@link org.hibernate.reactive.mutiny.Mutiny},
        for programs using Mutiny reactive streams, and</li>
    <li>{@link org.hibernate.reactive.stage.Stage},
        for programs using Java's {@link java.util.concurrent.CompletionStage}.</li>
    </ul>
    An instance of {@link org.hibernate.reactive.mutiny.Mutiny.SessionFactory} or
    {@link org.hibernate.reactive.stage.Stage.SessionFactory} may be obtained by
    calling {@link javax.persistence.EntityManagerFactory#unwrap(Class)}.
</p>

<p>
    The public API is organized into the following packages:
</p>

<p>
<table>
<tr>
    <td>{@link org.hibernate.reactive.mutiny}</td><td>&mdash;</td>
    <td>APIs specific to usage with Mutiny reactive streams</td>
</tr>
<tr>
    <td>{@link org.hibernate.reactive.stage}</td><td>&mdash;</td>
    <td>APIs specific to usage with {@link java.util.concurrent.CompletionStage}</td>
</tr>
<tr>
    <td>{@link org.hibernate.reactive.common}</td><td>&mdash;</td>
    <td>APIs common to both kinds of reactive stream</td>
</tr>
<tr>
    <td>{@link org.hibernate.reactive.id}</td><td>&mdash;</td>
    <td>SPI for plugin custom identifier generation</td>
</tr>
<tr>
    <td>{@link org.hibernate.reactive.pool}</td><td>&mdash;</td>
    <td>SPI for plugin custom connection pooling</td>
</tr>
<tr>
    <td>{@link org.hibernate.reactive.vertx}</td><td>&mdash;</td>
    <td>SPI for plugin custom integration with Vert.x</td>
</tr>
</table>
</p>

<p>
    SPIs are implemented as Hibernate services.
</p>

<p>
    Packages not listed above are considered non-public and are subject to change
    without notice.
</p>

</body>